package com.yedou.common;

import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.Data;
import java.util.List;

@Data
public class PageResult<T> {
    /** 总记录数 */
    private Long total;
    /** 总页数 */
    private Long pages;
    /** 当前页码 */
    private Integer current;
    /** 每页条数 */
    private Integer size;
    /** 数据列表 */
    private List<T> records;

    /**
     * 从MyBatis-Plus的IPage转换为自定义PageResult
     */
    public static <T> PageResult<T> fromIPage(IPage<T> iPage) {
        PageResult<T> pageResult = new PageResult<>();
        pageResult.setTotal(iPage.getTotal());
        pageResult.setPages(iPage.getPages());
        pageResult.setCurrent((int) iPage.getCurrent());
        pageResult.setSize((int) iPage.getSize());
        pageResult.setRecords(iPage.getRecords());
        return pageResult;
    }
}